#ifndef EVENT_H
#define EVENT_H

#include <global.h>
namespace NITK {
class Event
{
public:
    enum Type {
        Press,
        Drag,
        Release,
        WindowGeometryChange
    };

    Event(Type typ) : type(typ) {}
    const Type type;
};

class PositionEvent : public Event
{
public:
    PositionEvent(Type type, const Point &pos) : Event(type), position(pos) {}
    const Point position;
};

class GeometryEvent : public Event
{
public:
    GeometryEvent(Type type, const Rectangle &rect) : Event(type), rectangle(rect) {}
    const Rectangle rectangle;
};
};

#endif
